package padrao;

import Banco.*;
import org.omg.CORBA.*;
import org.omg.CosNaming.*;
import org.omg.CosNaming.NamingContextPackage.*;

@SuppressWarnings("unused")
public class Cliente {
	
	public static void main(String args[]) {
	    try {
	      // Cria e inicializa o ORB
	      ORB orb = ORB.init(args, null);

	      // Obtem referencia para o servico de nomes
	      org.omg.CORBA.Object objRef = orb.resolve_initial_references("NameService");
	      NamingContextExt ncRef = NamingContextExtHelper.narrow(objRef);
	 
	      // Obtem referencia para o servidor
	      String name = "AutoAtendimento";
	      auto_atendimento server = auto_atendimentoHelper.narrow(ncRef.resolve_str(name));

	      // Imprime mensagem de boas-vindas
	      System.out.println(server.boas_vindas());

	      // Obtem o numero da conta
	      System.out.print("Fala o numero ae: ");
	      java.io.BufferedReader reader = new java.io.BufferedReader(new java.io.InputStreamReader(System.in));
	      String conta = reader.readLine();

	      // Imprime o saldo atual
	      System.out.println("Seu saldo eh de R$" + server.saldo(Integer.parseInt(conta)));
	      
	      
	      Banco.transacoesHolder holder = new transacoesHolder();
	      DoubleHolder d_holder = new DoubleHolder();

	      server.extrato(Integer.parseInt(conta), holder, d_holder);

	      System.out.println ("======================= E X T R A T O - D E - T O M A T E ==============================");
	      String prefix = "     - ";
	      
	      for (int i = 0; i < holder.value.length; i++) {
		      System.out.println (prefix + holder.value[i].data + " \"" + holder.value[i].descricao + "\" R$ " + holder.value[i].quantia);
	      }
	      
	      System.out.println ("========================================================================================");
	      
	      System.out.println("Vai fazer caixa 2 ?");
	      System.out.println("Fala o numero da conta origem ae:");
	      reader = new java.io.BufferedReader(new java.io.InputStreamReader(System.in));
	      conta = reader.readLine();
	      
	      System.out.println("Fala o numero da conta destino ae:");
	      reader = new java.io.BufferedReader(new java.io.InputStreamReader(System.in));
	      String conta2 = reader.readLine();
	      
	      System.out.println("Fala o valor:");
	      reader = new java.io.BufferedReader(new java.io.InputStreamReader(System.in));
	      String valor = reader.readLine();
	      
	      server.tranferencia(Integer.parseInt(conta), Integer.parseInt(conta2), Double.parseDouble(valor));
	      
	      System.out.println("Fez a pegada!");

	    } catch (Exception e) {
	        System.out.println("ERROR : " + e) ;
	        e.printStackTrace(System.out);
	    }
	  }

}



